using System;
using System.Collections.Generic;
using System.Text;
using Marlimer.Data.Sistema;
using Marlimer.Common;
using System.Data;
using System.Windows.Forms; 

namespace Marlimer.Logical.Sistema
{
    
    public class lsis_Usuario
    {
        private sis_Usuario sis_usuario = new sis_Usuario();

        public resulOMsgError logUsuario(String clogin, String cpass, int ccod_appl)
        {
            return sis_usuario.logUsuario(clogin, cpass, ccod_appl);  
        }

        public DataTable getDTUsuario()
        {
            return sis_usuario.getDTUsuario();
        }

        public DataTable getConsultaUsuario(int ccod_user, String cnom_user, String clogin, int ntip_user, int flg_anulados)
        {
            //verificamos si hay errores o si hay data
            return sis_usuario.getConsultaUsuario(ccod_user, cnom_user, clogin, ntip_user, flg_anulados);
        }

        public bool cambiarPassword(string newpass)
        {
            msgResul resul = sis_usuario.cambiarPassword(newpass);
            if (!resul.result)
            {
                MessageBox.Show(resul.mensaje, this.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return resul.result; 
        }

        public bool anularActivarUsuario(int ccod_user, int flg_anular)
        {
            msgResul resul = sis_usuario.anularActivarUsuario(ccod_user, flg_anular);
            if (!resul.result)
            {
                MessageBox.Show(resul.mensaje, this.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return resul.result; 
        }

        public bool guardar(InfoUsuario usu)
        {
            msgResul resul = sis_usuario.guardar(usu);
            Boolean res = false;
            if (resul.result)
            {
                int estado = (int)resul.valorobj;
                switch (estado)
                {
                    case 1:
                        {
                            MessageBox.Show("Ya existe un usuario con el login especificado", this.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            break;
                        }
                    case 0:
                        {
                            MessageBox.Show("Se guardo satisfactoriamente", this.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
                            res = true;
                            break;
                        }
                }
            }
            else
            {
                MessageBox.Show(resul.mensaje, this.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return res;
        }

        public DataTable getAccesosUsuario(int ccod_user, int ccod_appl)
        {
            return sis_usuario.getAccesosUsuario(ccod_user, ccod_appl); 
        }

        public DataTable getUsuarioTablaByCod(int ccod_user)
        {
            return sis_usuario.getUsuarioTablaByCod(ccod_user);
        }
    }
}
